package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.labdata.domain.LabFile;

/**
 * 仪器对象 lab_instrumentation
 * 
 * @author winner pan
 * @date 2022-02-21
 */
public class Instrumentation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long instrumentationId;

    /** 所在实验室 */
    private Long labId;
    @Excel(name = "所在实验室")
    private String labName;
    
    private List<LabFile> images;
   
    

	public List<LabFile> getImages() {
		return images;
	}

	public void setImages(List<LabFile> images) {
		this.images = images;
	}

	public String getLabName() {
		return labName;
	}

	public void setLabName(String labName) {
		this.labName = labName;
	}

	/** 仪器型号 */
    @Excel(name = "仪器型号")
    private String model;
    
    /** 仪器规格 */
    @Excel(name = "仪器规格")
    private String spec;
    

    public String getSpec() {
		return spec;
	}

	public void setSpec(String spec) {
		this.spec = spec;
	}

	/** 仪器名称 */
    @Excel(name = "仪器名称")
    private String name;

    /** 资产编号 */
    @Excel(name = "资产编号")
    private String assetNo;

    /** 制造商名称 */
    @Excel(name = "制造商名称")
    private String manufacturer;

    /** 放置地点 */
    @Excel(name = "放置地点")
    private String classRoomId;

    /** 仪器大类 */
    @Excel(name = "设备分类（一级）",dictType="bigCategoryOpt")
    private Long bigCategoryOpt;

    /** 仪器小类 */
    @Excel(name = "设备分类（二级）",dictType="smallCategoryOpt")
    private Long smallCategoryOpt;
    
    /** 设备分类（三级） */
    @Excel(name = "设备分类（三级）", dictType="third_category_opt")
    private String thirdCategoryOpt;

    /** 是否大型设备 */
    //@Excel(name = "是否大型设备")
    private Integer isLargeScale;

    /** 仪器图片 */
    //@Excel(name = "仪器图片")
    private Long imageFileId;

    /** 国别 */
    @Excel(name = "国别")
    private String madenInCountry;

    /** 建账日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "建账日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date setUpAccount;

    /** 原值 */
    @Excel(name = "原值")
    private String originalValue;

    /** 仪器状态 */
    @Excel(name = "仪器状态",dictType="instrumentationStatusOpt")
    private Long instrumentationStatusOpt;

    /** 所属单位 */
    
    private Long superOrgId;
    @Excel(name = "所属单位")
    private String superName;

    public String getSuperName() {
		return superName;
	}

	public void setSuperName(String superName) {
		this.superName = superName;
	}

	/** 是否提供给外部使用 */
    @Excel(name = "是否提供给外部使用",dictType="isOrNotOpt")
    private Integer isAvailableForOthers;

    /** 特种设备 */
    @Excel(name = "特种设备",dictType="isOrNotOpt")
    private String specialEquipmentOpt;

    /** 不提供给外部原因 */
    @Excel(name = "不提供给外部原因")
    private String unavailableReasonOpt;

    /** 数量 */
    //@Excel(name = "数量")
    private Long quantity;

    /** 联系人员Id */
    @Excel(name = "联系人员No")
    private String contactNo;

    /** 介绍 */
    @Excel(name = "介绍")
    private String profileInfo;

    /** 是否贵重设备 */
    //@Excel(name = "是否贵重设备")
    private Integer isValuable;

    /** 技术介绍 */
    @Excel(name = "技术介绍")
    private String technologyInfo;

    /** 主要功能介绍 */
    @Excel(name = "主要功能介绍")
    private String mainFunction;

    /** 备注说明 */
    @Excel(name = "备注说明")
    private String comments;

    /** 资产分类名称 */
    @Excel(name = "资产分类名称",dictType="assetNameOpt")
    private String assetNameOpt;
    @Excel(name = "联系人姓名")
    private String contactName;
    @Excel(name = "联系人手机号")
    private String contactMobile;
    
    /** 所属资源载体类型 */
    @Excel(name = "所属资源载体类型")
    private String belongResourceName;

    /** 所属资源载体内部编号 */
    @Excel(name = "所属资源载体内部编号")
    private String belongResourceCode;

    /** 所在单位仪器编号 */
    @Excel(name = "所在单位仪器编号")
    private String deviceCode;

    /** 仪器设备类别 */
    @Excel(name = "仪器设备类别", dictType="device_type_opt")
    private String deviceTypeOpt;

    /** 仪器设备来源 */
    @Excel(name = "仪器设备来源", dictType="device_from_opt")
    private String deviceFromOpt;

    /** 取得方式 */
    @Excel(name = "取得方式 ", dictType="acquisition_way_opt")
    private String acquisitionWayOpt;

    

    /** 是否在海关监管年限内 */
    @Excel(name = "是否在海关监管年限内", dictType="isOrNotOpt")
    private Integer isCustomsExpiration;

    /** 进口报关单编号 */
    @Excel(name = "进口报关单编号")
    private String impDeclarationCode;

    /** 进口报关单项号 */
    @Excel(name = "进口报关单项号")
    private String impDeclarationItemno;

    /** 海关放行日期 */
    @Excel(name = "海关放行日期")
    private Date customsReleaseDate;

    /** 仪器设备在进口报关单上名称 */
    @Excel(name = "仪器设备在进口报关单上名称")
    private String nameOnCustoms;

    /** 是否处置 */
    @Excel(name = "是否处置 ", dictType="isOrNotOpt")
    private Integer isDisposal;

    /** 处置时间 */
    @Excel(name = "处置时间")
    private Date disposalDate;

    /** 处置方式 */
    @Excel(name = "处置方式")
    private String disposalWay;

    /** 处置后是否继续使用 */
    @Excel(name = "处置后是否继续使用", dictType="isOrNotOpt")
    private Integer usingAfterDisposalOpt;

    /** 价值类型 */
    @Excel(name = "价值类型", dictType="value_type_opt")
    private String valueTypeOpt;

    /** 主要购置经费来源 */
    @Excel(name = "主要购置经费来源")
    private String acquisitionsFunding;

    /** 财政性拨款（元） */
    @Excel(name = "财政性拨款（元）")
    private BigDecimal financialAppropriations;

    /** 非财政性拨款（元） */
    @Excel(name = "非财政性拨款（元）")
    private BigDecimal notFinancialAppropriations;

    /** 生产地址 */
    @Excel(name = "生产地址")
    private String productionAddress;

    /** 主要科学领域 */
    @Excel(name = "主要科学领域")
    private String majorAreasScience;

    /** 应用技术领域 */
    @Excel(name = "应用技术领域")
    private String applicationTechnology;

    /** 服务内容 */
    @Excel(name = "服务内容")
    private String serviceContent;

    /** 用户须知 */
    @Excel(name = "用户须知 ")
    private String userNotes;

    /** 是否纳入在线服务平台 */
    @Excel(name = "是否纳入在线服务平台", dictType="isOrNotOpt")
    private Integer isOnlineServiceOpt;

    /** 参考收费标准 */
    @Excel(name = "参考收费标准")
    private String referFee;

    /** 预约服务网址 */
    @Excel(name = "预约服务网址")
    private String reservationUrl;

    /** 电子邮箱 */
    @Excel(name = "电子邮箱")
    private String contactEmail;

    /** 通讯地址 */
    @Excel(name = "通讯地址")
    private String correspondenceAddress;

    /** 使用状况 */
    @Excel(name = "使用状况 ", dictType="using_opt")
    private String usingOpt;

    /** 使用人 */
    @Excel(name = "使用人")
    private String usingPeople;

    /** 使用部门 */
    @Excel(name = "使用部门 ")
    private String usingDepartment;

    /** 是否集约化管理 */
    @Excel(name = "是否集约化管理", dictType="isOrNotOpt")
    private Integer isIntensiveManageOpt;

    /** 是否公示 */
    @Excel(name = "是否公示", dictType="isOrNotOpt")
    private Integer isShowPublicOpt;

    /** 是否资源调查 */
    @Excel(name = "是否资源调查", dictType="isOrNotOpt")
    private Integer isSurveyOpt;

    /** 管理单位名称（全称） */
    @Excel(name = "管理单位名称（全称）")
    private String managementFullName;

    /** 审核状态 */
    @Excel(name = "审核状态")
    private String approvalStatus; 
    
    

    public String getBelongResourceName() {
		return belongResourceName;
	}

	public void setBelongResourceName(String belongResourceName) {
		this.belongResourceName = belongResourceName;
	}

	public String getBelongResourceCode() {
		return belongResourceCode;
	}

	public void setBelongResourceCode(String belongResourceCode) {
		this.belongResourceCode = belongResourceCode;
	}

	public String getDeviceCode() {
		return deviceCode;
	}

	public void setDeviceCode(String deviceCode) {
		this.deviceCode = deviceCode;
	}

	public String getDeviceTypeOpt() {
		return deviceTypeOpt;
	}

	public void setDeviceTypeOpt(String deviceTypeOpt) {
		this.deviceTypeOpt = deviceTypeOpt;
	}

	public String getDeviceFromOpt() {
		return deviceFromOpt;
	}

	public void setDeviceFromOpt(String deviceFromOpt) {
		this.deviceFromOpt = deviceFromOpt;
	}

	public String getAcquisitionWayOpt() {
		return acquisitionWayOpt;
	}

	public void setAcquisitionWayOpt(String acquisitionWayOpt) {
		this.acquisitionWayOpt = acquisitionWayOpt;
	}

	public String getThirdCategoryOpt() {
		return thirdCategoryOpt;
	}

	public void setThirdCategoryOpt(String thirdCategoryOpt) {
		this.thirdCategoryOpt = thirdCategoryOpt;
	}

	public Integer getIsCustomsExpiration() {
		return isCustomsExpiration;
	}

	public void setIsCustomsExpiration(Integer isCustomsExpiration) {
		this.isCustomsExpiration = isCustomsExpiration;
	}

	public String getImpDeclarationCode() {
		return impDeclarationCode;
	}

	public void setImpDeclarationCode(String impDeclarationCode) {
		this.impDeclarationCode = impDeclarationCode;
	}

	public String getImpDeclarationItemno() {
		return impDeclarationItemno;
	}

	public void setImpDeclarationItemno(String impDeclarationItemno) {
		this.impDeclarationItemno = impDeclarationItemno;
	}

	public Date getCustomsReleaseDate() {
		return customsReleaseDate;
	}

	public void setCustomsReleaseDate(Date customsReleaseDate) {
		this.customsReleaseDate = customsReleaseDate;
	}

	public String getNameOnCustoms() {
		return nameOnCustoms;
	}

	public void setNameOnCustoms(String nameOnCustoms) {
		this.nameOnCustoms = nameOnCustoms;
	}

	public Integer getIsDisposal() {
		return isDisposal;
	}

	public void setIsDisposal(Integer isDisposal) {
		this.isDisposal = isDisposal;
	}

	public Date getDisposalDate() {
		return disposalDate;
	}

	public void setDisposalDate(Date disposalDate) {
		this.disposalDate = disposalDate;
	}

	public String getDisposalWay() {
		return disposalWay;
	}

	public void setDisposalWay(String disposalWay) {
		this.disposalWay = disposalWay;
	}

	public Integer getUsingAfterDisposalOpt() {
		return usingAfterDisposalOpt;
	}

	public void setUsingAfterDisposalOpt(Integer usingAfterDisposalOpt) {
		this.usingAfterDisposalOpt = usingAfterDisposalOpt;
	}

	public String getValueTypeOpt() {
		return valueTypeOpt;
	}

	public void setValueTypeOpt(String valueTypeOpt) {
		this.valueTypeOpt = valueTypeOpt;
	}

	public String getAcquisitionsFunding() {
		return acquisitionsFunding;
	}

	public void setAcquisitionsFunding(String acquisitionsFunding) {
		this.acquisitionsFunding = acquisitionsFunding;
	}

	public BigDecimal getFinancialAppropriations() {
		return financialAppropriations;
	}

	public void setFinancialAppropriations(BigDecimal financialAppropriations) {
		this.financialAppropriations = financialAppropriations;
	}

	public BigDecimal getNotFinancialAppropriations() {
		return notFinancialAppropriations;
	}

	public void setNotFinancialAppropriations(BigDecimal notFinancialAppropriations) {
		this.notFinancialAppropriations = notFinancialAppropriations;
	}

	public String getProductionAddress() {
		return productionAddress;
	}

	public void setProductionAddress(String productionAddress) {
		this.productionAddress = productionAddress;
	}

	public String getMajorAreasScience() {
		return majorAreasScience;
	}

	public void setMajorAreasScience(String majorAreasScience) {
		this.majorAreasScience = majorAreasScience;
	}

	public String getApplicationTechnology() {
		return applicationTechnology;
	}

	public void setApplicationTechnology(String applicationTechnology) {
		this.applicationTechnology = applicationTechnology;
	}

	public String getServiceContent() {
		return serviceContent;
	}

	public void setServiceContent(String serviceContent) {
		this.serviceContent = serviceContent;
	}

	public String getUserNotes() {
		return userNotes;
	}

	public void setUserNotes(String userNotes) {
		this.userNotes = userNotes;
	}

	public Integer getIsOnlineServiceOpt() {
		return isOnlineServiceOpt;
	}

	public void setIsOnlineServiceOpt(Integer isOnlineServiceOpt) {
		this.isOnlineServiceOpt = isOnlineServiceOpt;
	}

	public String getReferFee() {
		return referFee;
	}

	public void setReferFee(String referFee) {
		this.referFee = referFee;
	}

	public String getReservationUrl() {
		return reservationUrl;
	}

	public void setReservationUrl(String reservationUrl) {
		this.reservationUrl = reservationUrl;
	}

	public String getContactEmail() {
		return contactEmail;
	}

	public void setContactEmail(String contactEmail) {
		this.contactEmail = contactEmail;
	}

	public String getCorrespondenceAddress() {
		return correspondenceAddress;
	}

	public void setCorrespondenceAddress(String correspondenceAddress) {
		this.correspondenceAddress = correspondenceAddress;
	}

	public String getUsingOpt() {
		return usingOpt;
	}

	public void setUsingOpt(String usingOpt) {
		this.usingOpt = usingOpt;
	}

	public String getUsingPeople() {
		return usingPeople;
	}

	public void setUsingPeople(String usingPeople) {
		this.usingPeople = usingPeople;
	}

	public String getUsingDepartment() {
		return usingDepartment;
	}

	public void setUsingDepartment(String usingDepartment) {
		this.usingDepartment = usingDepartment;
	}

	public Integer getIsIntensiveManageOpt() {
		return isIntensiveManageOpt;
	}

	public void setIsIntensiveManageOpt(Integer isIntensiveManageOpt) {
		this.isIntensiveManageOpt = isIntensiveManageOpt;
	}

	public Integer getIsShowPublicOpt() {
		return isShowPublicOpt;
	}

	public void setIsShowPublicOpt(Integer isShowPublicOpt) {
		this.isShowPublicOpt = isShowPublicOpt;
	}

	public Integer getIsSurveyOpt() {
		return isSurveyOpt;
	}

	public void setIsSurveyOpt(Integer isSurveyOpt) {
		this.isSurveyOpt = isSurveyOpt;
	}

	public String getManagementFullName() {
		return managementFullName;
	}

	public void setManagementFullName(String managementFullName) {
		this.managementFullName = managementFullName;
	}

	public String getApprovalStatus() {
		return approvalStatus;
	}

	public void setApprovalStatus(String approvalStatus) {
		this.approvalStatus = approvalStatus;
	}

	public String getContactName() {
		return contactName;
	}

	public void setContactName(String contactName) {
		this.contactName = contactName;
	}

	public String getContactMobile() {
		return contactMobile;
	}

	public void setContactMobile(String contactMobile) {
		this.contactMobile = contactMobile;
	}

	public void setInstrumentationId(Long instrumentationId) 
    {
        this.instrumentationId = instrumentationId;
    }

    public Long getInstrumentationId() 
    {
        return instrumentationId;
    }
    public void setLabId(Long labId) 
    {
        this.labId = labId;
    }

    public Long getLabId() 
    {
        return labId;
    }
    public void setModel(String model) 
    {
        this.model = model;
    }

    public String getModel() 
    {
        return model;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setAssetNo(String assetNo) 
    {
        this.assetNo = assetNo;
    }

    public String getAssetNo() 
    {
        return assetNo;
    }
    public void setManufacturer(String manufacturer) 
    {
        this.manufacturer = manufacturer;
    }

    public String getManufacturer() 
    {
        return manufacturer;
    }
    public void setClassRoomId(String classRoomId) 
    {
        this.classRoomId = classRoomId;
    }

    public String getClassRoomId() 
    {
        return classRoomId;
    }
    public void setBigCategoryOpt(Long bigCategoryOpt) 
    {
        this.bigCategoryOpt = bigCategoryOpt;
    }

    public Long getBigCategoryOpt() 
    {
        return bigCategoryOpt;
    }
    public void setSmallCategoryOpt(Long smallCategoryOpt) 
    {
        this.smallCategoryOpt = smallCategoryOpt;
    }

    public Long getSmallCategoryOpt() 
    {
        return smallCategoryOpt;
    }
    public void setIsLargeScale(Integer isLargeScale) 
    {
        this.isLargeScale = isLargeScale;
    }

    public Integer getIsLargeScale() 
    {
        return isLargeScale;
    }
    public void setImageFileId(Long imageFileId) 
    {
        this.imageFileId = imageFileId;
    }

    public Long getImageFileId() 
    {
        return imageFileId;
    }
    public void setMadenInCountry(String madenInCountry) 
    {
        this.madenInCountry = madenInCountry;
    }

    public String getMadenInCountry() 
    {
        return madenInCountry;
    }
    public void setSetUpAccount(Date setUpAccount) 
    {
        this.setUpAccount = setUpAccount;
    }

    public Date getSetUpAccount() 
    {
        return setUpAccount;
    }
    public void setOriginalValue(String originalValue) 
    {
        this.originalValue = originalValue;
    }

    public String getOriginalValue() 
    {
        return originalValue;
    }
    public void setInstrumentationStatusOpt(Long instrumentationStatusOpt) 
    {
        this.instrumentationStatusOpt = instrumentationStatusOpt;
    }

    public Long getInstrumentationStatusOpt() 
    {
        return instrumentationStatusOpt;
    }
    public void setSuperOrgId(Long superOrgId) 
    {
        this.superOrgId = superOrgId;
    }

    public Long getSuperOrgId() 
    {
        return superOrgId;
    }
    public void setIsAvailableForOthers(Integer isAvailableForOthers) 
    {
        this.isAvailableForOthers = isAvailableForOthers;
    }

    public Integer getIsAvailableForOthers() 
    {
        return isAvailableForOthers;
    }
    public void setSpecialEquipmentOpt(String specialEquipmentOpt) 
    {
        this.specialEquipmentOpt = specialEquipmentOpt;
    }

    public String getSpecialEquipmentOpt() 
    {
        return specialEquipmentOpt;
    }
    public void setUnavailableReasonOpt(String unavailableReasonOpt) 
    {
        this.unavailableReasonOpt = unavailableReasonOpt;
    }

    public String getUnavailableReasonOpt() 
    {
        return unavailableReasonOpt;
    }
    public void setQuantity(Long quantity) 
    {
        this.quantity = quantity;
    }

    public Long getQuantity() 
    {
        return quantity;
    }

    public void setProfileInfo(String profileInfo) 
    {
        this.profileInfo = profileInfo;
    }

    public String getProfileInfo() 
    {
        return profileInfo;
    }
    public void setIsValuable(Integer isValuable) 
    {
        this.isValuable = isValuable;
    }

    public Integer getIsValuable() 
    {
        return isValuable;
    }
    public void setTechnologyInfo(String technologyInfo) 
    {
        this.technologyInfo = technologyInfo;
    }

    public String getTechnologyInfo() 
    {
        return technologyInfo;
    }
    public void setMainFunction(String mainFunction) 
    {
        this.mainFunction = mainFunction;
    }

    public String getMainFunction() 
    {
        return mainFunction;
    }
    public void setComments(String comments) 
    {
        this.comments = comments;
    }

    public String getComments() 
    {
        return comments;
    }
    public void setAssetNameOpt(String assetNameOpt) 
    {
        this.assetNameOpt = assetNameOpt;
    }

    public String getAssetNameOpt() 
    {
        return assetNameOpt;
    }
    
    

    public String getContactNo() {
		return contactNo;
	}

	public void setContactNo(String contactNo) {
		this.contactNo = contactNo;
	}

	@Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("instrumentationId", getInstrumentationId())
            .append("labId", getLabId())
            .append("model", getModel())
            .append("name", getName())
            .append("assetNo", getAssetNo())
            .append("manufacturer", getManufacturer())
            .append("classRoomId", getClassRoomId())
            .append("bigCategoryOpt", getBigCategoryOpt())
            .append("smallCategoryOpt", getSmallCategoryOpt())
            .append("isLargeScale", getIsLargeScale())
            .append("imageFileId", getImageFileId())
            .append("madenInCountry", getMadenInCountry())
            .append("setUpAccount", getSetUpAccount())
            .append("originalValue", getOriginalValue())
            .append("instrumentationStatusOpt", getInstrumentationStatusOpt())
            .append("superOrgId", getSuperOrgId())
            .append("isAvailableForOthers", getIsAvailableForOthers())
            .append("specialEquipmentOpt", getSpecialEquipmentOpt())
            .append("unavailableReasonOpt", getUnavailableReasonOpt())
            .append("quantity", getQuantity())
            .append("profileInfo", getProfileInfo())
            .append("isValuable", getIsValuable())
            .append("technologyInfo", getTechnologyInfo())
            .append("mainFunction", getMainFunction())
            .append("comments", getComments())
            .append("assetNameOpt", getAssetNameOpt())
            .toString();
    }
}